package com.cloudfun.campusshare.service;

import com.cloudfun.campusshare.common.constant.ApplicationResult;
import com.cloudfun.campusshare.common.model.dto.MerchantDto;
import com.cloudfun.campusshare.common.model.vo.*;
import com.cloudfun.campusshare.common.response.BaseResult;
import com.cloudfun.campusshare.common.response.PageResult;
import com.cloudfun.campusshare.entity.AuthOrgEntity;
import org.springframework.data.domain.Pageable;

import java.util.List;

public interface AuthService {

    /**
     * 个人认证
     *
     * @param authPersonVO
     * @return
     */
    BaseResult<?> authPerson(AuthPersonVO authPersonVO);

    /**
     * 企业认证
     *
     * @param authOrgVO
     * @return
     */
    BaseResult<?> authOrg(AuthOrgVO authOrgVO);

    /**
     * 删除企业认证
     *
     * @param userId
     */
    void deleteAuthOrg(String userId);

    /**
     * 认证信息
     *
     * @return
     */
    BaseResult<?> authInfo();

    /**
     * 认证审核
     *
     * @return
     */
    BaseResult<?> authAudit(MerchantAuditVo auditVo);

    /**
     * 修改企业认证信息
     *
     * @param authOrgVO
     * @return
     */
    BaseResult<?> updateOrgAuth(AuthOrgVO authOrgVO);

    BaseResult<AuthOrgEntity> get(String userId);

    PageResult<MerchantVo> findAll(MerchantDto merchantDto);

    ReviewOverviewVo reviewOverview();

    BaseResult<?> operationalAudit();
}
